This invention relates to the field of communication and control systems. It is particularly applicable to methods and apparatus for transmitting data and control information over transmission channels with multiple users.
Microprocessors are commonly used in control systems to regulate a wide variety of systems from the simple hand held calculator to large mechanical systems such as valves and vehicles. In a specific example, microprocessors are used to control vehicles such as locomotives in order to perform functions including braking, traction control and acceleration. Radio frequency transmitter-receiver pairs are of particular interest for remotely controlling such vehicles.
In a typical locomotive control system, the operator communicates with a microprocessor-based controller onboard the locomotive using a remote control device, herein designated as transmitter. In a specific example, the transmitter is a portable device capable of emitting control signals. The operator enters requests into the transmitter via any suitable input such as a keyboard, touch screen or any other suitable system. Typical requests may include brake, accelerate and any function that a locomotive may be capable of performing. The transmitter encodes the request into a form suitable for transmission over a pre-determined frequency link. Usually, a tag is added on to the request to indicate the locomotive for which the request is destined as well as an identifier defining the remote control device from which the request originates. The complete request is then modulated at the pre-determined radio frequency and transmitted as a RF signal. Frequencies other than RF can also be used for this purpose.
Optionally, once the transmitter sends the RF signal, a repeater unit may receive the RF signal. Typical repeater units are ground-based units whose function is to extend the radio frequency (RF) range of the transmitter of the remote control device by amplifying the signal and filtering noise components. Repeater units are well-known in the art to which this invention pertains and typically comprise an RF antenna, an RF receiver, a decoder/encoder, an RF re-transmitter and any other equipment such as filters, duplexors and others required to receive a signal, process it and retransmit it. Commonly, the repeater unit re-transmits the signal at a frequency different from the frequency used by the transmitter as well as sufficiently spaced in frequency from the frequency used by the transmitter such that the two signals can be resolved if they are received simultaneously by a receiver unit.
A receiver aboard the locomotive has a decoder module that receives and demodulates the RF signal originating from the transmitter or from the repeater unit. The signal is then decoded and the validity of the request is verified. Typically, verifying the validity of a request involves performing a sequence of operations to verify if tho transmitter from which the request originates is permitted to issue requests to the particular locomotive as well as verifying if the signal received is intact. Generally, a computer readable medium in the receiver stores an identifier indicative of the transmitter assigned to the locomotive. The identifier is compared to the tag contained in the received demodulated request. Another operation in the verification of the signal involves verifying if the signal is intact by using a check sum or other suitable error detection or correction algorithm. Verifying that a message is intact is well known in the art of signal processing. If the signal is valid it is then processed further so the command contained in the request can be implemented.
Locomotive control systems of the type described above operate in railroad environments concurrently with many other similar locomotive control devices including transmitters and receivers. Commonly, many transmitters operate on the same radio frequency channel or on overlapping radio frequency channels often resulting in interference between the various signals. Signals transmitted in overlapping frequency channels cannot be resolved into their respective signals by the receiver module solely on the basis of frequency filtering. The interference of the signals typically causes commands to be lost.
A common solution to this problem is to transmit a command continuously at a given rate and where each transmitter is being assigned a unique repetition rate. The unique repetition rate reduces the likelihood of messages interfering with one another. A variant on this method is described in detail in U.S. Pat. No. 4,245,347 by Hutton et al. whose content is hereby incorporated by reference. In order to work adequately, the repetition rate of each transmitter must lie between a certain upper threshold, in order to prevent a single transmitter from monopolising the airways, and above a certain lower threshold in order to avoid a system receiving insufficient information. Furthermore, the repetition rates assigned to each transmitter must leave a time window that is sufficiently long to allow a complete message to be transmitted from a transmitter with no interference from other transmitter units operating at the same frequency. Finally, for systems requiring a high level of confidence such as systems that may create a potential safety hazard when a remotely transmitted command is not received properly or not received at all, the receiver stations are designed to expect a control message periodically from the transmitter. If the control message is not received within a pre-determined time period, the system assumes there is a problem and proceeds in executing an emergency default action. In order to assign a repetition rate to a set of transmitters, the above constraints must be taken into account. Consequently, the assignment and management of repetition rates by an administrator is a time consuming task resulting in significant labour costs. Also, the reliance on an administrator to assign transmission rate makes the system highly susceptible to human errors. For example, an administrator may erroneously give two transmission units the same repetition rate resulting in conflicting signals.
An additional problem with systems of the type described above is that the response time of a transmitter/receiver pair is substantially affected by the assigned repetition rate. Consider a system where two transmitter units are operating simultaneously and where the first unit has a repetition rate of 0.5/second and repeats its messages every 2 seconds and where the second unit has a repetition rate of 0.33/second and repeats its messages every 3 seconds. In the worst case scenario, every second message of the second transmitter will interfere with every third message of the first transmitter, the average response time for the receiver associated to the second transmitter will be 6 seconds and the average response time for the receiver associated to the first transmitter will be 3 seconds. Therefore, for identical transmitter/receiver pairs operating at different repetition rates, the response time of a transmitter/receiver may be substantially longer than that of another unit. This often leads to frustration for tho operator of the system who does not see a uniform delay in the response from one unit in the system to the next. Additionally, the battery life of system transmitting every 2 seconds will be distinctly shorter than that of the system transmitting every 3 seconds since the battery will have to supply power more frequently to the transmission device.
Thus, there exists a need in the industry to refine the process of signal transmission in the context of a transmitter/receiver pair.
An object of the invention is to provide an improved method and apparatus for signal transmission.
As embodied and broadly described herein, the invention provides an apparatus for transmitting a signal to a remote receiver, said apparatus comprising:
a signal transmitting unit including:
a) a first input for receiving a signal to be transmitted, said signal transmitting unit being operative to transmit said signal repetitively to create a succession of signal transmission events, each signal transmission event being spaced in time from a previous signal transmission event by a certain time interval characterized by a duration;
b) a second input for receiving d data element to control a duration of the time interval, said signal transmitting unit being responsive to the data element to set the time interval between two successive signal transmission events at a duration conveyed by the data element;
a time interval duration control module for successively generating different data elements and supplying the different data elements to said second input for varying said time interval to alter over time a rate or occurrence of the transmission events.
For the purpose of this specification, the expressions xe2x80x9crandomxe2x80x9d and xe2x80x9csubstantially randomxe2x80x9d are used to define a numerical pattern with very low correlation between its composing elements.
In a most preferred embodiment of this invention, the apparatus for transmitting a signal uses transmission intervals of random duration between the signal transmission events. This apparatus is particularly useful for applications where the transmitting apparatus issues control signals directed toward a remotely located slave controller capable of locally implementing commands based on the signal transmission events. Such transmitting apparatus (also called xe2x80x9ctransmitterxe2x80x9d in this specification) and slave controller combination are particularly useful to remotely control locomotives, such as those operating in switching yards. In such locomotive control systems the operator enters commands at the transmitter via a keyboard, keypad, voice or any other suitable human input means. The command is encoded, modulated and transmitted at random time intervals as an RF transmission. The receiver of the slave controller that is typically mounted aboard the locomotive receives and demodulates the RF signal originating from the transmitter, The received and demodulated signal is then processed so the desired action conveyed by the signal can be implemented.
Optionally, a repeater unit may be used in the signal transmission process. Once the transmitter issues the RF signal, a repeater unit receives it and processes it. Typical repeater units are ground-based stations whose function is to extend the radio frequency (RF) range of the transmitter of the remote control device by amplifying the signal and filtering noise components. Repeater units are well known in the art to which this invention pertains.
When the receiver of the slave controller picks-up the signal issued by the repeater (or directly from the transmitter) it first verifies its validity. This involves performing a sequence of operations to verify if the transmitter from which the signal transmission event originates is permitted to issue commands to the particular slave controller as well as verifying the integrity of the received signal. This involves comparing the tag of the transmitter embedded in the signal produced during each signal transmission event with a tag value stored in the memory of the slave controller. If both match, the receiver concludes that it has sensed a command signal from a transmitter that is specifically assigned to the slave controller. Note that the tag value stored in the memory of the slave controller may be dynamically changed. For example, a slave controller may be designed to respond to commands to a group of several transmitters, there being, however, a single transmitter that can issue commands at a given time. This feature can be used when human operators control a locomotive pulling a long consist. In such applications, an operator is assigned to each end of the consist and the operators may transfer control of the locomotive to one another. In such case, the tag value in the memory of the slave controller is dynamically changed each time the control is passed from one operator to another operator.
Preferably, the verification of the signal integrity is effected by using a check sum or other suitable error detection and/or correction algorithm.
If the signal passes both verification stages it is transferred to a logical processing module of the slave controller that may effect further validation steps and ultimately implement the command. Such further validation steps may include checking the command against the current operative status of the locomotive to determine if it can be implemented. This is usually effected to guard against operator error that may be requesting a command that is impossible or unsafe to carry out in certain circumstances.
In a preferred embodiment of this invention, the transmitter produces signal transmission events at substantially random time intervals. A time interval defines the time between two successive signal transmission events. The time intervals are randomly varied from one transmission event to another. One possible method of implementation is to provide the transmitter with a time interval duration control module that continuously outputs data elements, each data element designating directly or indirectly the duration of the time interval to be used. The data element is supplied to the signal transmitting unit that implements it.
The data element may be a signal of digital or analog nature or in any other form as long as it can convey information on the particular time interval to be used. Under the direct designation method, the signal contains the value of time interval to be implemented. The. signal transmitting unit therefore reads the signal and the information regarding the duration of the time interval is immediately available. The indirect designation method conveys a element of information that must be further processed by the signal transmitting unit to derive the duration of the time interval.
In a specific example, the data element can be a pointer in a data structure in the signal transmitting unit containing a pool of possible time intervals. The pointer serves as an indication of which one of the elements in the pool to use. In the most preferred embodiment of the invention, the time interval duration control module includes a generator of random time interval values. Those values are stored in a computer readable storage medium and may be organized in any suitable data structure. A circular buffer data structure is preferred. This buffer is used with a link or pointer indicating the next value to be used. Every time a signal transmission event occurs, the link or pointer is displaced to the next value in the circular buffer.
In a preferred embodiment, the time interval duration control module includes a multiplicative congruential random number generator with a period of 232 is used to generate random numbers. Random number generators are available in standard compilers. For example, the programming language C has a random number generator rand ( ) which can be used to implement the random number generator of the invention. The use of a programming language other that C does not detract from the spirit of the invention. Similarly, any pseudo random number generator may be used here without detracting from the spirit of the invention.
In a typical interaction, the random number generator is first initialized using a seed value. Preferably, the seed value is selected such that it is unique Lo a particular transmitter. After the random number generator has been initialized, the pool (or set) of transmission intervals is created. Typically, an upper and lower interval value is determined in order to define a workable range and K random values are generated in between these upper and lower values.
In some critical applications requiring a high level of confidence the slave controller is designed to successfully receive at least one signal transmission from the transmitter within a pre-determined time-out interval. If this time-out interval elapses and no signal transmission has been received from the transmitter, the receiver defaults to a certain xe2x80x9csafexe2x80x9d condition. For example, a slave controller aboard the locomotive will issue an xe2x80x9cemergency brake onxe2x80x9d instruction if it has failed to successfully receive a signal transmission from the transmitter within a time-out interval T.
When a time-out interval is used the set of K random values is generated taking into account the workable range and the time-out interval. Any value of K may be used without detracting from the spirit of the invention provided that K is selected such that the message is repeated a sufficient number of times during the time-out interval to allow the slave controller to successfully receive the message from the transmitter.
In a specific example, the value of K was determined experimentally by placing a selected number of transmitters in operation in a given frequency band. In order to satisfy the time-out constraint the sum of the K time intervals is computed, herein designated as the transmit period. If the transmit period is above the time-out period, the intervals are recomputed. Preferably an error margin is provided to allow a certain variation over the time-out period. In a preferred embodiment, the error margin is about 1% of the time-out period. For example, if the time out period is 5 seconds, then the sum of the intervals may be as high as 5.05 seconds. It may also be desirable to equalise the performance of the transmitters in the communication system such as to obtain substantially uniform response rates. In a preferred embodiment the performance of the communication system is normalised by constraining the transmit period within xc2x1n% of the time-out period. In a specific example, the time-out period is 5 seconds and an error margin of xc2x11% is permitted allowing the transmit period to lie between 4.95 seconds and 5.05 seconds. Therefore, if the transmit period lies outside of that range the transmission interval sequence is regenerated. However, if the transmit period lie within the constrain, the sequence of transmission intervals is assigned to the transmitter.
As embodied and broadly described herein, the invention also provides a remote control system comprising:
a transmitter for transmitting a signal indicative of an action to be performed remotely, said transmitter including:
a) a signal transmitting unit having:
i. a first input for receiving a signal to be transmitted, said signal transmitting unit being operative to transmit said signal repetitively to create a succession of signal transmission events, each signal transmission event being spaced in time from a previous signal transmission event by a certain time interval;
ii. a second input for receiving a data element to control a duration of the time interval, said signal transmitting unit being responsive to the data element to set the time interval between two successive signal transmission events at a duration conveyed by the data element;
b) a time interval duration control module for successively generating different data elements and supplying the different data elements to said second input for varying said time interval to alter over time a rate or occurrence of the transmission events;
a receiver for sensing said signal and for implementing locally an action in dependence upon a contents of the signal.
As embodied and broadly described herein, the invention also provides a method for transmitting a signal to a remote receiver by creating a succession of signal transmission events, each signal transmission event being spaced in time from a previous signal transmission event by a certain time interval characterized by a duration, said method comprising the steps of:
generating a signal to be transmitted, transmitting said signal successively to create the succession of signal transmission events at a rate that varies over time.